home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / macros / Files / Glob_Close.bsh < prev    next >
Text File  |  2013-07-28  |  1KB  |  54 lines

  1. /*
  2.  * Glob_Close.bsh - a BeanShell macro for jEdit that closes
  3.  * all open buffers matching a given glob pattern.
  4.  *
  5.  * Copyright (C) 2003-2004 Ollie Rutherfurd <oliver@rutherfurd.net>
  6.  *
  7.  * $Id: Glob_Close.bsh 22276 2012-09-29 11:59:27Z kerik-sf $
  8.  */
  9.  
  10. import java.util.regex.Pattern;
  11.  
  12. //Localization
  13. final static String GlobPatternLabel = jEdit.getProperty("macro.rs.GlobClose.GlobPattern.label", "Glob Pattern:");
  14. final static String ErrorGlobPattern = jEdit.getProperty("macro.rs.GlobClose.ErrorGlobPattern.error", "Error in glob pattern:");
  15.     
  16. //Process
  17. void globClose(View view)
  18. {
  19.     String glob = Macros.input(view, GlobPatternLabel);
  20.     if(glob == null || glob.length() == 0)
  21.         return;
  22.  
  23.     Pattern re = null;
  24.     try
  25.     {
  26.         re = Pattern.compile(StandardUtilities.globToRE(glob));
  27.     }
  28.     catch(Exception e)
  29.     {
  30.         Macros.error(view, ErrorGlobPattern + " " + e.toString());
  31.         return;
  32.     }
  33.  
  34.     Buffer[] buffers = jEdit.getBuffers();
  35.     for(int i=0; i < buffers.length; i++)
  36.     {
  37.         if(re.matcher(buffers[i].getPath()).matches())
  38.             jEdit.closeBuffer(view,buffers[i]);
  39.     }
  40. }
  41.  
  42. globClose(view);
  43.  
  44. /*
  45.  
  46. <listitem>
  47.     <para><filename>Glob_Close.bsh</filename></para>
  48.     <abstract><para>
  49.         Closes all open buffers matching a given glob pattern.
  50.     </para></abstract>
  51. </listitem>
  52.  
  53. */
  54.